package trabalho.das.fxml.views.uicomponents;

import entidades.TelhaBase;
import java.io.IOException;
import javafx.beans.value.ObservableValue;
import javafx.fxml.FXMLLoader;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.BorderPane;
import maquinaestados.Estado;
import maquinaestados.EstadoAdicionarAncora;
import maquinaestados.EstadoMover;
import maquinaestados.EstadoNormal;
import maquinaestados.EstadoResize;
import maquinaestados.IEstadoVisitante;
import sistema.Sistema;

/**
 * Trabalho DAS - 2014/2015
 * @author a21210380, a21190325, a21210392
 */
public class InformacoesTelha extends BorderPane implements IEstadoVisitante{
    
    public InformacoesTelha() {
        FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/resources/fxml/InformacoesTelha.fxml"));
        fxmlLoader.setRoot(this);
        fxmlLoader.setController(this);
        
        try {
            fxmlLoader.load();
            
            Sistema.getInstance().estadoProperty().addListener((ObservableValue<? extends Estado> observable, Estado oldValue, Estado newValue) -> {
                newValue.accept(this);
            });
            
        } catch (IOException exception) {
            throw new RuntimeException(exception);
        }
    }

    TelhaBase ultima = null;
    @Override
    public void visitante(EstadoNormal estadoNormal) {
    }

    @Override
    public void visitante(EstadoMover estadoMover) {
        if(ultima != estadoMover.getTelhaSelecionada()) {
            
        }
    }

    @Override
    public void visitante(EstadoResize estadoResize) {
    }

    @Override
    public void visitante(EstadoAdicionarAncora estadoAdicionarAncora) {
    }
}
